home *** CD-ROM | disk | FTP | other *** search
- #include "sky.h"
-
- output()
- {
-
- printf("%s ",object);
-
- if(flags&TOPO){
- prhms(ra,3);
- prdms(decl2,2);
- printf(" %8.4f %8.4f %7.2f\n", az, el, mag);
- }
- if((flags&GEO)){
- if((flags&ECLIPTIC)){
- while(geolam < 0.0) geolam += 2.*pi;
- prdms(geolam,3);
- prdms(geobet,2);
- printf("\n");
- }else{
- prhms(alpha,3);
- prdms(delta,2);
- printf(" %8.3f\n", semi);
- }
- }
- if((flags&HELIO)){
- while(lambda<0)
- lambda += 2.*pi;
- while(lambda > 2.*pi)
- lambda -= 2.*pi;
- prdms(lambda,3);
- prdms(beta,3);
- printf(" %13.7f\n", rad);
- }
- }
-
- prhms(arg,n)
- double arg;
- int n;
- {
- int n1, n2, n3, n4;
- double x;
- char *format = " %2d %02d %02d.%03d";
-
- format[17] = n + '0';
-
- while(arg < 0.) arg += 2.*pi;
- arg /= 15.;
- x = arg/radian;
- n1 = floor(x);
- x = (x-n1)*60.;
- n2 = floor(x);
- x = x - n2;
- x = x * 60.;
- n3 = floor(x);
- x = (x-n3);
- while(n--){
- x = 10.*x;
- }
- n4 = floor(x+.5);
- printf(format, n1, n2, n3, n4);
- }
-
- prdms(arg,n)
- double arg;
- int n;
- {
- int n1, n2, n3, n4;
- double x;
- int sign;
- char *format1 = " %02d %02d.%02d";
-
- format1[13] = n + '0';
- if(arg<0.){
- arg = -arg;
- sign = -1;
- }else{
- sign = 1;
- }
- x = arg/radian;
- n1 = floor(x);
- x = (x-n1)*60.;
- n2 = floor(x);
- x -= n2;
- x *= 60.;
- n1 *= sign;
- if((n1==0)&&(sign== -1)){
- printf(" -0");
- }else{
- printf("%5d", n1);
- }
- n3 = floor(x);
- x = x - n3;
- while(n--){
- x = 10. * x;
- }
- n4 = floor(x+.5);
- printf(format1, n2, n3, n4);
- }
-